#include "veccontinentes.h"

VecContinentes :: ~VecContinentes(){
	
	for(int i = 0; i < get_Size(); i++){
		Continente *c = get_Continente(i);
		for(int j = 0; j < c->get_CantPaises(); j++){
			Pais *p = c->get_Pais(j);
			c->eliminarPais(p->get_Nombre());
		}
		eliminarContinente(c->get_Nombre());
	}
};
		
void VecContinentes :: add(string n, int bonus){
	Continente *c = new Continente(n, bonus);
	vec.insert(pair<string,Continente*>(n,c));
};
		
		
Continente* VecContinentes :: get_Continente(string n){
	return vec[n];
};
		
Continente* VecContinentes :: get_Continente(int i){
	map<string,Continente*>::iterator it;
	it = vec.begin();
	for(int j = 0; j < i; j++){
		it++;
	}
	return it->second;
};
		
int VecContinentes :: get_Size(){
	return vec.size();
};
				
void VecContinentes :: eliminarContinente(string nombre){
			
	Continente *c = vec[nombre];
	delete(c);
	this->vec.erase(nombre);
};
		
//vacia la lista de continentes
void VecContinentes :: vaciar(){
	int i = 0;
	while(get_Size() != 0){
		Continente *c = get_Continente(i);
		eliminarContinente(c->get_Nombre());
	}
}
